{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "nbsphinx": "hidden"
   },
   "source": [
    "# Realization of Non-Recursive Filters\n",
    "\n",
    "*This jupyter notebook is part of a [collection of notebooks](../index.ipynb) on various topics of Digital Signal Processing. Please direct questions and suggestions to [Sascha.Spors@uni-rostock.de](mailto:Sascha.Spors@uni-rostock.de).*"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Segmented Convolution\n",
    "\n",
    "In many applications one of the signals of a convolution is much longer than the other. For instance when filtering a speech signal $x_L[k]$ of length $L$ with a room impulse response $h_N[k]$ of length $N \\ll L$. In such cases the [fast convolution](fast_convolution.ipynb), as introduced before, does not bring a benefit since both signals have to be zero-padded to a total length of at least $N+L-1$. Applying the fast convolution may then even be impossible in terms of memory requirements or overall delay. The filtering of a signal which is captured in real-time is also not possible by the fast convolution. \n",
    "\n",
    "In order to overcome these limitations, various techniques have been developed that perform the filtering on limited portions of the signals. These portions are known as partitions, segments or blocks. The respective algorithms are termed as *segmented* or *block-based* algorithms. The following section introduces two techniques for the segmented convolution of signals. The basic concept of these is to divide the convolution $y[k] = x_L[k] * h_N[k]$ into multiple convolutions operating on (overlapping) segments of the signal $x_L[k]$."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Overlap-Add Algorithm\n",
    "\n",
    "The [overlap-add algorithm](https://en.wikipedia.org/wiki/Overlap%E2%80%93add_method) is based on splitting the signal $x_L[k]$ into non-overlapping segments $x_p[k]$ of length $P$\n",
    "\n",
    "\\begin{equation}\n",
    "x_L[k] = \\sum_{p = 0}^{L/P - 1} x_p[k - p \\cdot P]\n",
    "\\end{equation}\n",
    "\n",
    "where the segments $x_p[k]$ are defined as\n",
    "\n",
    "\\begin{equation}\n",
    "x_p[k] = \\begin{cases} x_L[k + p \\cdot P] & \\text{ for } k=0,1,\\dots,P-1 \\\\ 0 & \\text{ otherwise} \\end{cases}\n",
    "\\end{equation}\n",
    "\n",
    "Note that $x_L[k]$ might have to be zero-padded so that its total length is a multiple of the segment length $P$. Introducing the segmentation of $x_L[k]$ into the convolution yields\n",
    "\n",
    "\\begin{align}\n",
    "y[k] &= x_L[k] * h_N[k] \\\\\n",
    "&= \\sum_{p = 0}^{L/P - 1} x_p[k - p \\cdot P] * h_N[k] \\\\\n",
    "&= \\sum_{p = 0}^{L/P - 1} y_p[k - p \\cdot P]\n",
    "\\end{align}\n",
    "\n",
    "where $y_p[k] = x_p[k] * h_N[k]$. This result states that the convolution of $x_L[k] * h_N[k]$ can be split into a series of convolutions $y_p[k]$ operating on the samples of one segment only. The length of $y_p[k]$ is $N+P-1$. The result of the overall convolution is given by summing up the results from the segments shifted by multiples of the segment length $P$. This can be interpreted as an overlapped superposition of the results from the segments, as illustrated in the following diagram\n",
    "\n",
    "![Signal flow of overlap-add algorithm](overlap_add.png)\n",
    "\n",
    "The overall procedure is denoted by the name *overlap-add* technique. The convolutions $y_p[k] = x_p[k] * h_N[k]$ can be realized efficiently by the [fast convolution](fast_convolution.ipynb) using zero-padding and fast Fourier transformations (FFTs) of length $M \\geq P+N-1$. \n",
    "\n",
    "A drawback of the overlap-add technique is that the next input segment is required to compute the result for the actual segment of the output. For real-time applications this introduces an algorithmic delay of one segment."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Example\n",
    "\n",
    "The following example illustrates the overlap-add algorithm by showing the (convolved) segments and the overall result."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x144 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x144 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x144 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x144 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x144 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x144 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import scipy.signal as sig\n",
    "\n",
    "\n",
    "L = 64  # length of input signal\n",
    "N = 8  # length of impulse response\n",
    "P = 16  # length of segments\n",
    "\n",
    "\n",
    "# generate input signal\n",
    "x = sig.triang(L)\n",
    "# generate impulse response\n",
    "h = sig.triang(N)\n",
    "\n",
    "# overlap-add convolution\n",
    "xp = np.zeros((L//P, P))\n",
    "yp = np.zeros((L//P, N+P-1))\n",
    "y = np.zeros(L+P-1)\n",
    "for p in range(L//P):\n",
    "    xp[p, :] = x[p*P:(p+1)*P]\n",
    "    yp[p, :] = np.convolve(xp[p,:], h, mode='full')\n",
    "    y[p*P:(p+1)*P+N-1] += yp[p, :]\n",
    "y = y[0:N+L]\n",
    "\n",
    "\n",
    "# plot signals\n",
    "plt.figure(figsize = (10,2))\n",
    "\n",
    "plt.subplot(121)\n",
    "plt.stem(x)\n",
    "for n in np.arange(L//P)[::2]:\n",
    "    plt.axvspan(n*P, (n+1)*P-1, facecolor='g', alpha=0.5)\n",
    "plt.title(r'Signal $x[k]$ and segments')\n",
    "plt.xlabel(r'$k$')\n",
    "plt.ylabel(r'$x[k]$')\n",
    "plt.axis([0, L, 0, 1])\n",
    "\n",
    "plt.subplot(122)\n",
    "plt.stem(h)\n",
    "plt.title(r'Impulse response $h[k]$')\n",
    "plt.xlabel(r'$k$')\n",
    "plt.ylabel(r'$h[k]$')\n",
    "plt.axis([0, L, 0, 1])\n",
    "\n",
    "for p in np.arange(L//P):\n",
    "    plt.figure(figsize = (10,2))\n",
    "    \n",
    "    plt.stem(np.concatenate((np.zeros(p*P), yp[p, :])))\n",
    "    plt.title(r'Result of segment $p=%d$' %(p))\n",
    "    plt.xlabel(r'$k$')\n",
    "    plt.ylabel(r'$y_%d[k - %d P]$' %(p,p))\n",
    "    plt.axis([0, L+P, 0, 4])\n",
    "    \n",
    "\n",
    "plt.figure(figsize = (10,2))\n",
    "plt.stem(y)\n",
    "plt.title(r'Result $y[k] = x[k] * h[k]$')\n",
    "plt.xlabel(r'$k$')\n",
    "plt.ylabel(r'$y[k]$')\n",
    "plt.axis([0, L+P, 0, 4]);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Exercises**\n",
    "\n",
    "* Change the length `N` of the impulse response and the length `P` of the segments. What changes?\n",
    "* What influence have these two lengths on the numerical complexity of the overlap-add algorithm?\n",
    "\n",
    "Solution: The parameters `N` and `P` influence the overlap in the output and the total number of segments. The number of overlapping samples of two consecutive output segments $y_p[k]$ and $y_{p+1}[k]$ is given as $N-1$, and the total number of segments as $\\frac{L}{P}$. The segmented convolution requires $\\frac{L}{P}$ linear convolutions of length $P+N-1$ each. The numerical complexity is mainly determined by the overall number of multiplications which is given as $\\frac{L}{P} (P+N-1)^2$. For fixed $L$ and $N$, the optimum segment length is computed by finding the minimum in terms of multiplications. It is given as $P=N-1$."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Overlap-Save Algorithm\n",
    "\n",
    "The [overlap-save](https://en.wikipedia.org/wiki/Overlap%E2%80%93save_method) algorithm, also known as *overlap-discard algorithm*, follows a different strategy as the overlap-add technique introduced above. It is based on an overlapping segmentation of the input $x_L[k]$ and application of the periodic convolution for the individual segments.\n",
    "\n",
    "Lets take a closer look at the result of the periodic convolution $x_p[k] \\circledast h_N[k]$, where $x_p[k]$ denotes a segment of length $P$ of the input signal and $h_N[k]$ the impulse response of length $N$. The result of a linear convolution $x_p[k]* h_N[k]$ would be of length $P + N -1$. The result of the periodic convolution of period $P$ for $P > N$ would suffer from a circular shift (time aliasing) and superposition of the last $N-1$ samples to the beginning. Hence, the first $N-1$ samples are not equal to the result of the linear convolution. However, the remaining $P- N + 1$ do so.\n",
    "\n",
    "This motivates to split the input signal $x_L[k]$ into overlapping segments of length $P$ where the $p$-th segment overlaps its preceding $(p-1)$-th segment by $N-1$ samples\n",
    "\n",
    "\\begin{equation}\n",
    "x_p[k] = \\begin{cases}\n",
    "x_L[k + p \\cdot (P-N+1) - (N-1)] & \\text{ for } k=0,1, \\dots, P-1 \\\\\n",
    "0 & \\text{ otherwise}\n",
    "\\end{cases}\n",
    "\\end{equation}\n",
    "\n",
    "The part of the circular convolution $x_p[k] \\circledast h_N[k]$ of one segment $x_p[k]$ with the impulse response $h_N[k]$ that is equal to the linear convolution of both is given as\n",
    "\n",
    "\\begin{equation}\n",
    "y_p[k] = \\begin{cases}\n",
    "x_p[k] \\circledast h_N[k] & \\text{ for } k=N-1, N, \\dots, P-1 \\\\\n",
    "0 & \\text{ otherwise}\n",
    "\\end{cases}\n",
    "\\end{equation}\n",
    "\n",
    "The output $y[k]$ is simply the concatenation of the $y_p[k]$\n",
    "\n",
    "\\begin{equation}\n",
    "y[k] = \\sum_{p=0}^{\\frac{L}{P-N+1} - 1} y_p[k - p \\cdot (P-N+1) + (N-1)]\n",
    "\\end{equation}\n",
    "\n",
    "The overlap-save algorithm is illustrated in the following diagram\n",
    "\n",
    "![Signal flow of overlap-save algorithm](overlap_save.png)\n",
    "\n",
    "For the first segment $x_0[k]$, $N-1$ zeros have to be appended to the beginning of the input signal $x_L[k]$ for the overlapped segmentation. From the result of the periodic convolution $x_p[k] \\circledast h_N[k]$ the first $N-1$ samples are discarded, the remaining $P - N + 1$ are copied to the output $y[k]$. This is indicated by the alternative notation *overlap-discard* used for the technique. The periodic convolution can be realized efficiently by a FFT/IFFT of length $P$."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Example\n",
    "\n",
    "The following example illustrates the overlap-save algorithm by showing the results of the periodic convolutions of the segments. The discarded parts are indicated by the red background."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x144 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x144 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x144 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x144 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x144 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x144 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x144 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "L = 64  # length of input signal\n",
    "N = 8  # length of impulse response\n",
    "P = 24  # length of segments\n",
    "\n",
    "\n",
    "# generate input signal\n",
    "x = sig.triang(L)\n",
    "# generate impulse response\n",
    "h = sig.triang(N)\n",
    "\n",
    "# overlap-save convolution\n",
    "nseg = (L+N-1)//(P-N+1) + 1\n",
    "x = np.concatenate((np.zeros(N-1), x, np.zeros(P)))\n",
    "xp = np.zeros((nseg, P))\n",
    "yp = np.zeros((nseg, P))\n",
    "y = np.zeros(nseg*(P-N+1))\n",
    "\n",
    "for p in range(nseg):\n",
    "    xp[p, :] = x[p*(P-N+1):p*(P-N+1)+P]\n",
    "    yp[p, :] = np.fft.irfft(np.fft.rfft(xp[p, :]) * np.fft.rfft(h, P))\n",
    "    y[p*(P-N+1):p*(P-N+1)+P-N+1] = yp[p, N-1:]\n",
    "y = y[0:N+L]\n",
    "    \n",
    "plt.figure(figsize = (10,2))\n",
    "\n",
    "plt.subplot(121)\n",
    "plt.stem(x[N-1:])\n",
    "plt.title(r'Signal $x[k]$')\n",
    "plt.xlabel(r'$k$')\n",
    "plt.ylabel(r'$x[k]$')\n",
    "plt.axis([0, L, 0, 1])\n",
    "\n",
    "plt.subplot(122)\n",
    "plt.stem(h)\n",
    "plt.title(r'Impulse response $h[k]$')\n",
    "plt.xlabel(r'$k$')\n",
    "plt.ylabel(r'$h[k]$')\n",
    "plt.axis([0, L, 0, 1])\n",
    "\n",
    "for p in np.arange(nseg):\n",
    "    plt.figure(figsize = (10,2))\n",
    "    plt.stem(yp[p, :])\n",
    "    plt.axvspan(0, N-1+.5, facecolor='r', alpha=0.5)\n",
    "    plt.title(r'Result of periodic convolution of $x_%d[k]$ and $h_N[k]$' %(p))\n",
    "    plt.xlabel(r'$k$')\n",
    "    plt.axis([0, L+P, 0, 4])\n",
    "    \n",
    "\n",
    "plt.figure(figsize = (10,2))\n",
    "plt.stem(y)\n",
    "plt.title(r'Result $y[k] = x[k] * h[k]$')\n",
    "plt.xlabel(r'$k$')\n",
    "plt.ylabel(r'$y[k]$')\n",
    "plt.axis([0, L+P, 0, 4]);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Exercise**\n",
    "\n",
    "* Change the length `N` of the impulse response and the length `P` of the segments. What changes?\n",
    "* How many samples of the output signal $y[k]$ are computed per segment for a particular choice of these two values?\n",
    "* What would be a good choice for the segment length `P` with respect to the length `N` of the impulse response?\n",
    "\n",
    "Solution: Decreasing the segment length $P$ or increasing the length of the impulse response $N$ decreases the number of valid output samples per segment which is given as $P-N+1$. The computation of $L$ output samples requires $\\frac{L}{P-N+1}$ cyclic convolutions of length $P$ each. Regarding the total number of multiplications, an optimal choice for the segment length is $P = 2 N - 2$."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Practical Aspects and Extensions\n",
    "\n",
    "* For both the overlap-add and overlap-save algorithm the length $P$ of the segments influences the lengths of the convolutions, FFTs and the number of output samples per segment. The segment length is often chosen as\n",
    "\n",
    "    * $P=N$ for overlap-add and \n",
    "    * $P = 2 N$ for overlap-save. \n",
    "\n",
    "For both algorithms this requires FFTs of length $2 N$ to compute $P$ output samples. The overlap-add algorithm requires $P$ additional additions per segment in comparison to overlap-save.\n",
    "\n",
    "* For real-valued signals $x_L[k]$ and impulse responses $h_N[k]$ real-valued FFTs lower the computational complexity significantly. As alternative, the $2 N$ samples in the FFT can be distributed into the real and complex part of a FFT of length $N$ [[Zölzer](../index.ipynb#Literature)].\n",
    "\n",
    "* The impulse response can be changed in each segment in order to simulate time-variant linear systems. This is often combined with an overlapping computation of the output in order to avoid artifacts due to instationarities.\n",
    "\n",
    "* For long impulse responses $h_N[k]$ or low-delay applications, algorithms have been developed which base on an additional segmentation of the impulse response. This is known as *partitioned convolution*."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbsphinx": "hidden"
   },
   "source": [
    "**Copyright**\n",
    "\n",
    "This notebook is provided as [Open Educational Resource](https://en.wikipedia.org/wiki/Open_educational_resources). Feel free to use the notebook for your own purposes. The text is licensed under [Creative Commons Attribution 4.0](https://creativecommons.org/licenses/by/4.0/), the code of the IPython examples under the [MIT license](https://opensource.org/licenses/MIT). Please attribute the work as follows: *Sascha Spors, Digital Signal Processing - Lecture notes featuring computational examples, 2016-2018*."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
